home *** CD-ROM | disk | FTP | other *** search
/ Aminet 37 / Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso / Aminet / dev / c / CLib37x.lha / CLib37x / ReadMe.AROS < prev    next >
Encoding:
Text File  |  2000-04-22  |  2.1 KB  |  70 lines

  1. AROS notes:
  2. -----------
  3. [Andreas R. Kleinert <info@ar-kleinert.de]
  4.  
  5.  - made some changes to Aaron's sources to get
  6.    them compiled with SAS/C 6.58
  7.  - AROS version longer longer included: you can
  8.    find it within the AROS distribution itself, now,
  9.    see http://www.aros.org
  10.  
  11.  
  12. [Aaron Digulla <digulla@fh-konstanz.de> ]
  13.  
  14.  
  15. I have ported this source to AROS on Linux.
  16.  
  17. It works with AROS V1.11+. Eventually, it will become part of
  18. the AROS Library Generation Tools.
  19.  
  20. Some of this problems are announced to be fixed with gcc V2.8.0 .
  21.  
  22. The size of the library is 852 bytes code and 188 bytes data. The file
  23. size is 80935 including full debug infos.
  24.  
  25.  
  26. I made the following changes:
  27.  
  28. makefile.aros:
  29.   added
  30.  
  31. Startup.c:
  32. SampleFuncs.h:
  33. LibInit.c:
  34. SampleFuncs.c:
  35.     AROS has it's own way to define functions which belong into a library.
  36.     A library function is declared like this:
  37.  
  38.         AROS_LH1 (ULONG, foo,
  39.             AROS_LHA (APTR, bar, D0),
  40.             struct LibBase *, LibBase, 7, Demo
  41.         )
  42.  
  43.     This creates a function which is called "foo" for the library "Demo".
  44.     The function returns ULONG and gets a single parameter bar which is
  45.     an APTR in D0 (if D0 is available; on systems where there are no
  46.     registers, for example in intel CPUs, the arguments will be passed
  47.     on the stack). The function will get a hidden parameter called "LibBase"
  48.     in A6 or on the stack. The type of "LibBase" is "struct LibBase *".
  49.     The function is the 7th (counting begins by 0 which is LibInit; 1 is
  50.     LibOpen, 2 is LibClose, 3 is LibExpunge, 4 is LibFuncExt, 5 is the
  51.     first library specific function). Macros are available for upto 15
  52.     parameters.
  53.  
  54.     If you replace AROS_LH1 by AROS_LC1, then you can call a function of
  55.     a library.
  56.  
  57.     This special format is used by a couple of tools which generate
  58.     all header files (proto, pragma, clib, etc) and the autodocs from
  59.     the source.
  60.  
  61. proto/example.h
  62.     Include the AROS headers for libraries.
  63.  
  64. defines/example.h
  65.     Added this file. It contains macros which are expanded into AROS_LCx
  66.     macros which call the actual function.
  67.  
  68. Have fun.
  69.  
  70.